The present invention relates generally to the field of storage systems. More particularly, the present invention relates to increasing the fault tolerance of RAID storage systems.
Storage systems are used to store data. The amount of data that is being stored by storage systems is increasing rapidly. To cope up with the increasing amount of data being stored, storage systems combine a large number of independent disk drives. These disk drives are organized as a Redundant Array of Independent Disks (RAID).
RAID storage systems can store a large amount of data. To store large amounts of data, they use a number of disk drives. Each disk drive has a fixed service life. The failure of a drive can be defined as its inability to store and retrieve data reliably. The failure of any one drive in a RAID system will result in the failure of the RAID storage system as a whole. Since RAID systems use data redundancy, data loss due to the failure of the storage system is avoided. The probability of the failure of such a RAID system can be quite high. This is because the probability of the failure of such a RAID system is the sum of probabilities of the failures of all individual disk drives in the system.
Since the probability of the failure of a RAID storage system is a function of the number of disk drives in the system, many RAID storage systems are organized into a number of smaller RAID sets. Each RAID set comprises a small number of disk drives. If one disk drive in a RAID set fails, it does not cause the loss of availability of data in the RAID storage system.
RAID storage systems support fault tolerance to disk drive failures, and therefore prevent loss of data in the case of disk drive failure. Fault tolerance is provided by either mirroring data onto a mirrored disk drive, or using one or more parity disk drives to store parity information for data stored on the other disk drives in the RAID set. In the event of the failure of a disk drive, the mirrored disk drive is used to restore lost data, or the parity disk drive is used to regenerate lost data by Exclusive ORing the data on the remaining drives in the RAID set. In the event of the failure of a disk drive in a RAID set, the RAID set goes critical. However, a critical RAID set will not cause loss of data, but there will be loss of data if another disk drive in the critical RAID set fails.
One approach to increase fault tolerance in RAID storage systems is to provide an additional parity drive in each RAID set. If one drive in a RAID set fails, the RAID set does not become critical, and the additional parity drive can be used to reconstruct data. Another approach of increasing fault tolerance is to mirror the entire RAID set. However, these approaches suffer from an increased drive overhead due to multiple writes of the same data. Another disadvantage is the decreased usable or effective storage capacity, defined as the ratio of the number of drives used for user data to the total number of drives in the RAID system.
In order to increase fault tolerance to multiple drive failures and increase data availability, RAID storage systems migrate data from a failing disk drive to a spare disk drive before the disk drive completely fails. One such system is described in U.S. Pat. No. 6,598,174, titled “Method and Apparatus for Storage Unit Replacement in Non-redundant Array”, assigned to Dell Products L.P. This patent describes a storage system in which data from disk drives that are about to fail is migrated onto a spare disk drive. This system uses an intermediate disk drive to migrate the data onto a spare disk drive. Additionally, this system is applicable to a non-redundant array, such as a RAID 0 configuration. The system uses Self Monitoring Analysis and Reporting Technology (SMART) that is provided with disk drives to predict drive failure. A description of SMART can be found in the paper titled “Improved Disk Drive Failure Warnings” by Hughes, et al, published in IEEE transactions on reliability, September, 2002, pages 350-357.
Another system that employs data migration before drive failure, to increase fault tolerance, is described in U.S. Pat. No. 5,727,144 titled “Failure Prediction for Disk Arrays”, assigned to International Business Machines Corporation. This patent describes a system that copies data from a failing disk drive to a spare disk drive. In case the disk drive fails before the entire data is copied, the system uses RAID regeneration techniques to reconstruct lost data.
However, the systems described above do not entirely solve the problem of maintaining fault tolerance in the case of multiple drive failures in a RAID set. The spare drives, which are used to replace a failed disk drive, are kept in power-on condition until required. This reduces the expected service life of the spare disk drive, making it susceptible to failure and increases its vulnerability to data loss. These systems only use the SMART feature of disk drives to predict drive failure but not to extend the service life of the drives. From the foregoing discussion, it is clear that there is a need for a system that increases the fault tolerance, and resulting data availability in RAID storage systems. The system should be able to predict the failure of a disk drive, using multiple sources so that it can reduce the possibility of the RAID sets becoming critical. The system should provide a high ratio of usable to total RAID storage capacity. This system should also be able to efficiently manage power to the spare disk drives that are used to replace failed disk drives in a RAID storage system.